package com.mxpio.erp.common.order.service;

import java.util.List;

import com.mxpio.erp.common.enums.OrderStatusEnums.CloseStatus;
import com.mxpio.erp.common.jpa.model.OrderLine;
import com.mxpio.erp.common.vo.NoticeClassVo;
import com.mxpioframework.common.vo.Result;
import com.mxpioframework.system.service.BaseService;

/**
 * 业务单据明细统一操作服务
 * @author MxpIO
 *
 */
public interface OrderLineService extends BaseService<OrderLine> {

	/**
	 * 更新订单明细关闭状态
	 * @param clazz
	 * @param ids
	 * @param closeStatus
	 * @return
	 */
	Result<? extends OrderLine> updateCloseStatus(Class<? extends OrderLine> clazz, String ids, CloseStatus closeStatus);
	
	/**
	 * 计算明细行数量
	 * @param orderLines
	 * @param noticeClassVos
	 * @param accessType
	 */
	void handleBizOrderLineQuantity(List<? extends OrderLine> orderLines, List<NoticeClassVo> noticeClassVos, String accessType);
}
